home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / relnotes / pcp_eoe / ch3.z / ch3
Text File  |  1998-07-29  |  23KB  |  578 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        3.  _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
  9.  
  10.        The major additions and changes for the basic services and
  11.        tools of the Performance Co-Pilot are described in the
  12.        following sections.  Unless otherwise stated, all changes
  13.        describe PCP 2.0 relative to the prior PCP 1.3 release.
  14.  
  15.        Refer to the reference pages of the individual utilities for
  16.        a complete description of any new functionality.
  17.  
  18.        3.1  _I_n_f_r_a_s_t_r_u_c_t_u_r_e__C_h_a_n_g_e_s
  19.  
  20.        The following changes have been made to the PCP
  21.        infrastructure that affect both collector and monitor
  22.        configurations.
  23.  
  24.          1.  The PCP Performance Metrics Name Space (PMNS) has
  25.              previously been local to the application wishing to
  26.              make reference to PCP metrics by name.  In PCP 2.0 the
  27.              PMNS operations are directed to the host or archive
  28.              that is the source of the desired performance metrics,
  29.              see ppppmmmmnnnnssss(4).
  30.  
  31.              The default name space is now associated with the PCP
  32.              collector host rather than PCP monitor host.  The
  33.              distributed PMNS involves changes to both the PCP
  34.              protocols between client applications and ppppmmmmccccdddd, and
  35.              the internal format of PCP archive files (the
  36.              ppppmmmmllllooooggggggggeeeerrrr(1) utility is able to write PCP archive logs
  37.              in either the old or new formats).
  38.  
  39.          2.  PCP monitor hosts do not require any name space files,
  40.              unless the local PCP client applications need to
  41.              connect to PCP collector hosts that have not yet been
  42.              upgraded to PCP 2.0.  The distributed PMNS is
  43.              implemented by having the name space functions of the
  44.              PCP Performance Metrics Application Programming
  45.              Interface (PMAPI) send and receive messages to and
  46.              from the collector ppppmmmmccccdddd(1), just like the other PMAPI
  47.              functions.
  48.  
  49.          3.  Full interoperability is supported for PCP 2.0, so new
  50.              PCP components will operate correctly with either new
  51.              or old PCP components.  For example, a PCP client that
  52.              connects to a PCP 1.x ppppmmmmccccdddd or attempts to process a
  53.              PCP archive created by a PCP 1.x ppppmmmmllllooooggggggggeeeerrrr will revert
  54.              to using the local PMNS.
  55.  
  56.              The following table describes the supported
  57.              interoperability between the client, ppppmmmmccccdddd(1) and PCP
  58.              archive log components of PCP 2.0 and PCP 1.x:
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.               ___________________________________________________
  75.                                  PCP 1.x client   PCP 2.0 client
  76.               ______________________________________________________________________________________________________
  77.                PCP 1.x _p_m_c_d           yes              yes
  78.                PCP 1.x archive        yes              yes
  79.                PCP 2.0 _p_m_c_d           yes              yes
  80.                PCP 2.0 archive         no              yes
  81.               ___________________________________________________
  82.               ||||||
  83.  
  84.  
  85.  
  86.  
  87.                                ||||||||||||
  88.  
  89.  
  90.  
  91.  
  92.                                                 ||||||
  93.  
  94.  
  95.  
  96.  
  97.                                                                  ||||||
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.          4.  The protocols between a PMDA and ppppmmmmccccdddd(1) have also
  105.              changed, through a new version of the _l_i_b_p_c_p__p_m_d_a
  106.              library.
  107.  
  108.              The following table describes the supported
  109.              interoperability between the ppppmmmmccccdddd(1) and PMDA
  110.              components of PCP 2.0 and PCP 1.x:
  111.  
  112.         ________________________________________________________________
  113.                           PCP 1.x     PCP 1.x      PCP 2.0     PCP 2.0
  114.                         daemon PMDA   DSO PMDA   daemon PMDA   DSO PMDA
  115.         ________________________________________________________________________________________________________________________________
  116.          PCP 1.x _p_m_c_d       yes         yes          no           no
  117.          PCP 2.0 _p_m_c_d       yes          no          yes         yes
  118.         ________________________________________________________________
  119.         |||||
  120.  
  121.  
  122.  
  123.                       ||||||||||
  124.  
  125.  
  126.  
  127.                                     |||||
  128.  
  129.  
  130.  
  131.                                                |||||
  132.  
  133.  
  134.  
  135.                                                              |||||
  136.  
  137.  
  138.  
  139.                                                                         |||||
  140.  
  141.  
  142.  
  143.  
  144.  
  145.          5.  Product structural changes.
  146.  
  147.              The PCP product images have been re-arranged as
  148.              follows.
  149.  
  150.                 +o _p_c_p__e_o_e contains all of the pieces that are
  151.                   common to any successful PCP installation,
  152.                   particularly for a collector system, i.e. a place
  153.                   where ppppmmmmccccdddd is running.
  154.  
  155.                 +o _p_c_p__e_o_e will ship in IRIX 6.5 and as part of PCP
  156.                   2.0 for earlier IRIX releases.
  157.  
  158.                 +o _p_c_p__e_o_e._s_w._m_o_n_i_t_o_r includes the oooovvvviiiieeeewwww monitoring
  159.                   application (for monitoring the performance of
  160.                   ORIGIN systems, from SC4-PCPORIGIN) and does not
  161.                   require any PCP licenses.
  162.  
  163.                 +o _p_c_p._s_w._b_a_s_e provides the core PCP components that
  164.                   are outside _p_c_p__e_o_e.
  165.  
  166.                 +o _p_c_p._s_w._e_o_e for IRIX 6.2 or later has been
  167.                   replaced by _p_c_p__e_o_e._s_w._e_o_e (more formally the
  168.                   latter updates the former).  For IRIX 5.3,
  169.                   _p_c_p._s_w._e_o_e is almost empty, but allows for clean
  170.                   upgrades from all earlier PCP versions.
  171.  
  172.                 +o _p_c_p._s_w._m_o_n_i_t_o_r provides all of the PCP client
  173.                   tools for monitoring performance.
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.                                   - 3 -
  186.  
  187.  
  188.  
  189.                 +o The other _p_c_p subsystems provide optional PCP
  190.                   components.
  191.  
  192.          6.  PCP 2.0 introduces some new extensions to the PMAPI,
  193.              mostly to accommodate the distributed PMNS and some
  194.              underlying protocol changes to support enhanced
  195.              inter-operability.  The _l_i_b_p_c_p and _l_i_b_p_c_p__p_m_d_a
  196.              libraries have been updated to version sgi2.0.  The
  197.              older versions of these libraries are still supported
  198.              and may be installed from the _p_c_p._s_w._c_o_m_p_a_t subsystem
  199.              if required for older PMDAs or customer-developed PCP
  200.              applications.
  201.  
  202.              The API has also changed in some ways related to
  203.              symbol hiding and changes in function arguments.  The
  204.              xxxxllllaaaatttteeee____ppppmmmmaaaappppiiii script in the _p_c_p__g_i_f_t_s._s_w._m_i_g_r_a_t_e
  205.              subsystem may be used to automate the bulk of the
  206.              source code translation from the 1.x version to the
  207.              2.0 version of the PMAPI, i.e. from _l_i_b_p_c_p._s_o._1 and
  208.              _l_i_b_p_c_p__p_m_d_a._s_o._1 to _l_i_b_p_c_p._s_o._2 and _l_i_b_p_c_p__p_m_d_a._s_o._2.
  209.  
  210.          7.  In the transition from PCP 1.2 to PCP 1.3, the
  211.              _l_i_b_p_c_p__l_i_t_e library was removed and the functionality
  212.              replaced by the new PPPPMMMM____CCCCOOOONNNNTTTTEEEEXXXXTTTT____LLLLOOOOCCCCAAAALLLL option to
  213.              ppppmmmmNNNNeeeewwwwCCCCoooonnnntttteeeexxxxtttt(3) in _l_i_b_p_c_p.  The old _l_i_b_p_c_p__l_i_t_e
  214.              library is still available in the _p_c_p._s_w._c_o_m_p_a_t
  215.              subsystem.
  216.  
  217.          8.  ppppmmmmLLLLooooooookkkkuuuuppppNNNNaaaammmmeeee(3) now produces an extra error code,
  218.              PPPPMMMM____EEEERRRRRRRR____NNNNOOOONNNNLLLLEEEEAAAAFFFF which means that the given name refers
  219.              to a non-leaf node in the PMNS and so no PMID can be
  220.              returned.  Previously, if a non-leaf name was given
  221.              then PPPPMMMM____EEEERRRRRRRR____NNNNAAAAMMMMEEEE would be returned.  Now the error
  222.              PPPPMMMM____EEEERRRRRRRR____NNNNAAAAMMMMEEEE means only that the name does not exist in
  223.              the name space.
  224.  
  225.          9.  The function ppppmmmmGGGGeeeettttCCCChhhhiiiillllddddrrrreeeennnnSSSSttttaaaattttuuuussss(3) was added to the
  226.              PMAPI.  It was introduced mainly to satisfy a new need
  227.              of ppppmmmmcccchhhhaaaarrrrtttt(1).  As well as getting the names of all
  228.              the children nodes, ppppmmmmGGGGeeeettttCCCChhhhiiiillllddddrrrreeeennnnSSSSttttaaaattttuuuussss returns a
  229.              parallel array of the status of each node, indicating
  230.              if it is a leaf or non-leaf node.
  231.  
  232.         10.  A new (much smaller) format for PMDA help text files
  233.              has been implemented, with support in the _l_i_b_p_c_p__p_m_d_a
  234.              library and the nnnneeeewwwwhhhheeeellllpppp(1) utility.
  235.  
  236.         11.  A ----LLLL option was added to ppppmmmmdddduuuummmmpppplllloooogggg(1) to produce a
  237.              more verbose variant of ----llll and report all of the
  238.              details from a PCP archive label.
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.                                   - 4 -
  252.  
  253.  
  254.  
  255.         12.  ppppmmmmllllooooggggggggeeeerrrr(1) uses the additional ppppmmmmccccdddd state change
  256.              information to embed "mark" records in PCP archives
  257.              when new PMDAs are started by ppppmmmmccccdddd.  During replay,
  258.              this prevents interpolation of values in the PCP
  259.              archive across the life of an old and a new instance
  260.              of the same PMDA.
  261.  
  262.         13.  The temporal index file (``.index'' suffix) is
  263.              optional when PCP archives are being replayed.
  264.  
  265.         14.  Changes to track the object format of the booted IRIX
  266.              kernel, briefly:
  267.  
  268.                 +o ``MACH'' tag key PCP binaries in the images to
  269.                   ensure installation of o32, n32 or n64 versions
  270.                   as appropriate, based upon the installation
  271.                   platform and the IRIX version.
  272.  
  273.                 +o Only one version of the ppppmmmmccccdddd binary will be
  274.                   installed, now in /_u_s_r/_e_t_c/_p_m_c_d.
  275.  
  276.                 +o A new ppppmmmmoooobbbbjjjjssssttttyyyylllleeee(1) command is used to determine
  277.                   the appropriate kernel object style at run time
  278.                   as required, e.g. when ppppmmmmccccdddd(1) is attaching a DSO
  279.                   PMDA.
  280.  
  281.        3.2  _C_o_l_l_e_c_t_o_r__C_h_a_n_g_e_s
  282.  
  283.        The following changes effect PMCD and the PMDAs that provide
  284.        the collection services.
  285.  
  286.          1.  ppppmmmmccccdddd(1) has been modified to support the distributed
  287.              name space.  This has meant the following changes:
  288.  
  289.                 +o ppppmmmmccccdddd(1) now loads the default name space on
  290.                   startup or an alternative name space if specified
  291.                   by ----nnnn.
  292.  
  293.                 +o On a SIGHUP signal it will reload the name space
  294.                   if it has been modified since the last load time.
  295.  
  296.                 +o ppppmmmmccccdddd(1) responds to name space PDU requests using
  297.                   its local name space.
  298.  
  299.          2.  ppppmmmmccccdddd(1) no longer requires a PCP collector license to
  300.              start, however connections will be refused for most
  301.              PCP clients unless the PCP collector license is
  302.              installed and valid.  Some clients (most notably
  303.              oooovvvviiiieeeewwww(1)) can connect to ppppmmmmccccdddd independent of any PCP
  304.              licenses.  To support this, the client-pmcd connection
  305.              protocols have been extended.
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.                                   - 5 -
  318.  
  319.  
  320.  
  321.          3.  Support has been added for multiple protocol versions
  322.              for the client-pmcd IPC and the interaction between
  323.              ppppmmmmccccdddd and the PMDAs.
  324.  
  325.          4.  The logic used by ppppmmmmccccdddd for locating DSO PMDAs of the
  326.              correct object format has been reworked.
  327.  
  328.          5.  The diagnostic event tracing options of ppppmmmmccccdddd have been
  329.              extended to include an "unbuffered" mode where every
  330.              event is reported as it happens, as opposed to
  331.              buffering events in a ring buffer and only reporting
  332.              on errors and in response to explicit requests.
  333.  
  334.          6.  The distributed PMNS changes mean that ppppmmmmccccdddd must load
  335.              and export the PMNS in response to requests from
  336.              client applications.  ppppmmmmccccdddd's SIGHUP processing has
  337.              been extended to include reloading the PMNS if the
  338.              external PMNS file has been modified.
  339.  
  340.          7.  In concert with a change to ppppmmmmFFFFeeeettttcccchhhh in _l_i_b_p_c_p, ppppmmmmccccdddd is
  341.              now able to export out-of-band information about ppppmmmmccccdddd
  342.              state changes (specifically PMDA add, drop and
  343.              restart) back to client applications.
  344.  
  345.        3.3  _M_o_n_i_t_o_r__C_h_a_n_g_e_s
  346.  
  347.        The major additions and changes for the performance
  348.        visualization and analysis tools are described below.
  349.  
  350.          1.  Monitor applications no longer use the local default
  351.              name space to get PMIDs for metric names unless the
  352.              name space file is explicitly given as a ----nnnn option or
  353.              the target ppppmmmmccccdddd, specified by ----hhhh, is a lower revision
  354.              than PCP 2.0.  Monitor applications use the
  355.              distributed name space by sending PDU requests to
  356.              ppppmmmmccccdddd.
  357.  
  358.          2.  To convert an existing user-written monitor
  359.              application to use the distributed name space, the
  360.              following must be done:
  361.  
  362.                 +o Only call ppppmmmmLLLLooooaaaaddddNNNNaaaammmmeeeeSSSSppppaaaacccceeee(3) in the case of being
  363.                   given a ----nnnn option to specify a particular name
  364.                   space file.  If one only wants to use the
  365.                   distributed name space then the call to
  366.                   ppppmmmmLLLLooooaaaaddddNNNNaaaammmmeeeeSSSSppppaaaacccceeee(3) can be deleted altogether.  As
  367.                   soon as ppppmmmmLLLLooooaaaaddddNNNNaaaammmmeeeeSSSSppppaaaacccceeee(3) is called, the
  368.                   application is in local name space mode.
  369.  
  370.                 +o All calls to the PMAPI name space functions must
  371.                   be made in a current PMAPI context.  Previously,
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.                                   - 6 -
  384.  
  385.  
  386.  
  387.                   since a context was not used to service name
  388.                   space functions, it was possible to call these
  389.                   functions before any new context was created.
  390.                   Now, if there is no current PMAPI context and
  391.                   ppppmmmmLLLLooooaaaaddddNNNNaaaammmmeeeeSSSSppppaaaacccceeee(3) has not previously been called
  392.                   when a name space function is called an error
  393.                   code will be returned.
  394.  
  395.                 +o The calls to the PMAPI name space functions (in
  396.                   distributed mode) will take longer to execute (as
  397.                   they must send/receive a PDU to/from a remote
  398.                   ppppmmmmccccdddd).  This means that the name space calls
  399.                   should not be made unnecessarily.
  400.  
  401.                 +o All name space calls should be tested for
  402.                   failure.  This was, of course, always the case,
  403.                   but previously there was more chance that one
  404.                   could get away without testing some calls for
  405.                   failure. However, now, every call could have some
  406.                   failure due to problems with sending or receiving
  407.                   a PDU.
  408.  
  409.          3.  The oooovvvviiiieeeewwww(1) application for monitoring Origin 200 and
  410.              Origin 2000 systems has migrated from the SC4-
  411.              PCPORIGIN product and is now included in the
  412.              _p_c_p__e_o_e._s_w._m_o_n_i_t_o_r subsystem.  This application is
  413.              unlicensed and will operate with an unlicensed
  414.              ppppmmmmccccdddd(1).
  415.  
  416.          4.  Many of the GUI PCP tools have been integrated into
  417.              the IRIX Interactive Desktop environment, including
  418.              launch by icon, drag-n-drop behavior for hosts or
  419.              archives dropped onto PCP tools and a new ppppmmmmrrrruuuunnnn(1)
  420.              command to support optional command line arguments for
  421.              PCP tools launched from the desktop.
  422.  
  423.          5.  A PPPPeeeerrrrffffTTTToooooooollllssss page in the Icon Catalog has been created
  424.              for launching PCP tools.
  425.  
  426.          6.  The handling of error messages for both GUI and
  427.              command-line invocations of most tools has been
  428.              unified and made more consistent.
  429.  
  430.          7.  The ppppmmmmttttiiiimmmmeeee(1) application that provides time control
  431.              services to other PCP tools has been enhanced in a
  432.              number of ways:
  433.  
  434.                 +o A new Archive Time Bounds dialog (available only
  435.                   in archive mode) allows time window bounds to be
  436.                   constrained or expanded at run-time (particularly
  437.                   useful when replaying archives that are still
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.                                   - 7 -
  450.  
  451.  
  452.  
  453.                   growing).
  454.  
  455.                 +o Extensions to the ppppmmmmttttiiiimmmmeeee client protocol to allow
  456.                   clients to force VCR state changes and alter the
  457.                   time window bounds.
  458.  
  459.                 +o The ppppmmmmttttiiiimmmmeeee protocol is nnnnooootttt backwards compatible
  460.                   with the PCP 1.x implementation, but all clients
  461.                   of ppppmmmmttttiiiimmmmeeee are re-released with the images on the
  462.                   PCP 2.0 CD and both ppppmmmmttttiiiimmmmeeee and its clients
  463.                   execute on the same system.
  464.  
  465.          8.  The ppppmmmmkkkkssssttttaaaatttt(1) command has been restructured in the
  466.              wake of _l_i_b_p_c_p__l_i_t_e's demise, and in particular a new
  467.              ----LLLL option supports stand alone use without ppppmmmmccccdddd(1).
  468.  
  469.        3.4  _F_e_a_t_u_r_e_s__R_e_m_o_v_e_d__o_r__D_e_p_r_e_c_a_t_e_d
  470.  
  471.        In PCP 2.0, the following features from earlier PCP versions
  472.        have been removed.
  473.  
  474.          1.  The original intent in the Performance Co-Pilot
  475.              framework was to support seamless VCR-replay between a
  476.              current ``live'' source and a recently created archive
  477.              source.
  478.  
  479.              In practice, the semantic and operational difficulties
  480.              associated with transitions between ``live'' and
  481.              ``archive'' modes are so significant that the feature
  482.              has been abandoned.
  483.  
  484.              Earlier PCP releases included a ``stubbed-out''
  485.              application ppppmmmmvvvvccccrrrr(1) that did not really do anything
  486.              and assorted infrastructure ``hooks''.  These have
  487.              been removed.
  488.  
  489.          2.  _l_i_b_p_c_p__l_i_t_e._s_o - replaced by PPPPMMMM____CCCCOOOONNNNTTTTEEEEXXXXTTTT____LLLLOOOOCCCCAAAALLLL The
  490.              standalone (without ppppmmmmccccdddd) library _l_i_b_p_c_p__l_i_t_e._s_o has
  491.              been replaced by the PPPPMMMM____CCCCOOOONNNNTTTTEEEEXXXXTTTT____LLLLOOOOCCCCAAAALLLL option to the
  492.              ppppmmmmNNNNeeeewwwwCCCCoooonnnntttteeeexxxxtttt(3) routine.
  493.  
  494.              The following features and services are supported in
  495.              PCP 2.0, but the intention is to remove them in a
  496.              future PCP version.
  497.  
  498.                1.  ASCII mode PDUs and the PPPPDDDDUUUU____AAAASSSSCCCCIIIIIIII argument to
  499.                    ppppmmmmNNNNeeeewwwwCCCCoooonnnntttteeeexxxxtttt(3).  To the best of our knowledge,
  500.                    nothing but the ``toy'' demonstration PMDA news
  501.                    agent has ever used this. The current PCP
  502.                    libraries (in particular _l_i_b_p_c_p__p_m_d_a and
  503.                    _l_i_b_p_c_p__t_r_a_c_e) make building a real PMDA less
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.                                   - 8 -
  516.  
  517.  
  518.  
  519.                    effort than fighting with the ACSII PDUs in a
  520.                    sssshhhh(1) script.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.